feat(ci): build otel images and run integration tests with them#1013
Conversation
📝 WalkthroughWalkthroughCI image builds and test stages now use reusable workflows. Container tags flow into integration and performance tests, integration VMs and output formats are configurable, and OTEL builds reuse the shared image target with feature-specific build arguments. ChangesCI workflow refactor
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant CI
participant ContainerBuild
participant Registry
participant IntegrationTests
participant VM
CI->>ContainerBuild: invoke reusable build workflow
ContainerBuild->>Registry: push architecture images and manifests
ContainerBuild-->>CI: return image tag
CI->>IntegrationTests: pass tag, VM list, and output type
IntegrationTests->>VM: run configured integration tests
Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1013 +/- ##
=======================================
Coverage 32.95% 32.95%
=======================================
Files 21 21
Lines 2971 2971
Branches 2971 2971
=======================================
Hits 979 979
Misses 1989 1989
Partials 3 3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
85722a4 to
e2a1695
Compare
b118a82 to
faefb58
Compare
e2a1695 to
f964087
Compare
faefb58 to
b8cd802
Compare
f964087 to
5c66700
Compare
b8cd802 to
f6461e3
Compare
5c66700 to
69acc30
Compare
f6461e3 to
2be7397
Compare
69acc30 to
046a472
Compare
2be7397 to
d36e05b
Compare
735c159 to
16f5d71
Compare
d36e05b to
48a74a3
Compare
16f5d71 to
31f8ee3
Compare
48a74a3 to
a770ac5
Compare
31f8ee3 to
cbf9c70
Compare
1600ccf to
458d238
Compare
This enables building images with the opentelemetry output enabled, making it easier to run integration tests with it. Since the grpc output already tests all kernels we support, these tests are only run on fedora-coreos.
458d238 to
c9b6fa2
Compare
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/container-build.yml:
- Around line 25-28: Update both actions/checkout@v4 steps in the workflow to
set persist-credentials to false alongside their existing checkout options,
including the step with submodules and fetch-depth and the second checkout step.
- Around line 30-36: Update the vars step to pass inputs.tag-suffix through the
step’s env block, then append the shell variable rather than embedding GitHub
expression syntax in the heredoc. Apply the same env-based pattern to every
podman manifest step, passing needs.vars.outputs.* through env and referencing
those shell variables in commands to prevent pre-shell injection.
In `@Makefile`:
- Around line 20-25: Update the image-otel target and its dependent image build
flow so the OTEL variant is tagged as $(FACT_IMAGE_NAME)-otel instead of reusing
$(FACT_IMAGE_NAME). Preserve the existing --features otel CARGO_ARGS behavior
and align the target with the $(FACT_IMAGE_NAME)-otel name expected by
tests/Makefile.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yml
Review profile: CHILL
Plan: Enterprise
Run ID: 235999d3-f979-4f5a-913a-74c92f8f72b6
📒 Files selected for processing (6)
.github/workflows/ci.yml.github/workflows/container-build.yml.github/workflows/integration-tests.yml.github/workflows/konflux-tests.ymlMakefileansible/run-tests.yml
Description
This enables building images with the opentelemetry output enabled, making it easier to run integration tests with it.
Since the grpc output already tests all kernels we support, these tests are only run on fedora-coreos.
Checklist
Automated testing
If any of these don't apply, please comment below.
Testing Performed
TODO(replace-me)
Use this space to explain how you tested your PR, or, if you didn't test it, why you did not do so. (Valid reasons include "CI is sufficient" or "No testable changes")
In addition to reviewing your code, reviewers must also review your testing instructions, and make sure they are sufficient.
For more details, ref the Confluence page about this section.
Summary by CodeRabbit